/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package negocio;

import Utilidades.VariaveisEstaticas;
import dao.*;
import dominio.CompraMateriaprima;
import java.util.List;
import javax.persistence.RollbackException;

/**
 *
 * @author Gutto
 */
public class ManterCompraMateriaPrimaNegocio {


    private ManterCompraMateriaprimaDAO manterCompraMateriaprimaDAO;

     public ManterCompraMateriaPrimaNegocio(){
        manterCompraMateriaprimaDAO = new ManterCompraMateriaprimaDAO();
     }


     /**
     * Método que irá chamar o create() do DAO, armazenando o CompraMateriaprima no BD.
     *@param CompraMateriaprima CompraMateriaprima
     * @return SUCESSO(1) caso o CompraMateriaprima seja inserido com êxito; ERRO_DUPLICAÇÃO(2) caso ocorra
     * o CompraMateriaprima já exista; ERRO_BD(3) erro de persistência.
     */
    public int create(CompraMateriaprima compraMateriaprima) {
        try {
            manterCompraMateriaprimaDAO.create(compraMateriaprima);
            return VariaveisEstaticas.SUCESSO;
        } catch (RollbackException p) {
            return VariaveisEstaticas.ERRO_DUPLICACAO;
        } catch (Exception e) {
            return VariaveisEstaticas.ERRO_BD;
        }
    }
    /**
     * Método que irá chamar o edit() do DAO, editando o CompraMateriaprima no BD.
     *@param CompraMateriaprima CompraMateriaprima
     * @return SUCESSO(1) int caso o CompraMateriaprima seja inserido com êxito; ERRO_DUPLICAÇÃO(2) int caso ocorra
     * o CompraMateriaprima já exista; ERRO_BD(3) int erro de persistência.
     */
    public int edit(CompraMateriaprima compraMateriaprima) {
        try {
            manterCompraMateriaprimaDAO.edit(compraMateriaprima);
            return VariaveisEstaticas.SUCESSO;
        } catch (RollbackException r) {
            return VariaveisEstaticas.ERRO_DUPLICACAO;
        } catch (Exception e) {
            return VariaveisEstaticas.ERRO_BD;
        }
    }

    /**
     * Método que irá chamar o destroy() do DAO, deletando o CompraMateriaprima no BD.
     *@param CompraMateriaprima CompraMateriaprima
     * @return SUCESSO(1) int caso o CompraMateriaprima seja inserido com êxito; ERRO_BD(3) int erro de persistência.
     */
    public int destroy(CompraMateriaprima compraMateriaprima) {
        try {
            manterCompraMateriaprimaDAO.destroy(compraMateriaprima.getCompraMateriaprimaPK());
            return VariaveisEstaticas.SUCESSO;
        } catch (Exception e) {
            return VariaveisEstaticas.ERRO_BD;
        }
    }
    /**
     * Método responsável por chamar o método findCompraMateriaprimaEntities() do DAO. Retorna uma lista de CompraMateriaprimas.
     * @return List<CompraMateriaprima>
     */
    public List<CompraMateriaprima> findCompraMateriaprimaEntities() {
        return manterCompraMateriaprimaDAO.findCompraMateriaprimaEntities();
    }

}
